﻿using System;

namespace Eassets.Layered.Domain.Secure
{
    [Serializable]
    public class SecurityGroupUser
    {
        #region Fields

        /// <summary>
        /// The Security Group User Id of the SecurityGroupUser.
        /// </summary>
        private long securityGroupUserId;
        /// <summary>
        /// The Security Group Id of the SecurityGroupUser.
        /// </summary>
        private long securityGroupId;
        /// <summary>
        /// The User Id of the SecurityGroupUser.
        /// </summary>
        private long userId;
        /// <summary>
        /// The Effective Date of the SecurityGroupUser.
        /// </summary>
        private DateTime effectiveDate;

        private Employee employee;

        #endregion

        #region Properties


        /// <summary>
        /// Gets or sets the Security Group User Id of the SecurityGroupUser.
        /// </summary>
        /// <value>
        /// The Security Group User Id of the SecurityGroupUser.
        /// </value>
        public long SecurityGroupUserId
        {
            get
            {
                return this.securityGroupUserId;
            }
            set
            {
                this.securityGroupUserId = value;
            }
        }

        /// <summary>
        /// Gets or sets the Security Group Id of the SecurityGroupUser.
        /// </summary>
        /// <value>
        /// The Security Group Id of the SecurityGroupUser.
        /// </value>
        public long SecurityGroupId
        {
            get
            {
                return this.securityGroupId;
            }
            set
            {
                this.securityGroupId = value;
            }
        }

        /// <summary>
        /// Gets or sets the User Id of the SecurityGroupUser.
        /// </summary>
        /// <value>
        /// The User Id of the SecurityGroupUser.
        /// </value>
        public long UserId
        {
            get
            {
                return this.userId;
            }
            set
            {
                this.userId = value;
            }
        }


        /// <summary>
        /// Gets or sets the User Id of the SecurityGroupUser.
        /// </summary>
        /// <value>
        /// The User Id of the SecurityGroupUser.
        /// </value>
        public Employee Employee
        {
            get
            {
                return this.employee;
            }
            set
            {
                this.employee = value;
            }
        }
        /// <summary>
        /// Gets or sets the Effective Date of the SecurityGroupUser.
        /// </summary>
        /// <value>
        /// The Effective Date of the SecurityGroupUser.
        /// </value>
        public DateTime EffectiveDate
        {
            get
            {
                return this.effectiveDate;
            }
            set
            {
                this.effectiveDate = value;
            }
        }

        #endregion
    }
}
